Stick Arena Trainer FINAL v3 Tomorrow!
I will make this available to everyone and will not be private. It will be released in the .zip format. There is a considerable amount of HPs out there with SA cheats if you can not wait for tomorrow. =P I still have many error traps to fix so nothing goes wrong in the game or the trainer more importantly. I already said more or less which cheat options will be added but look for one that no else has done before. Some of you have probably seen it when playing SA and yes it was me because I'm the only that is doing that cheat option. I'm adding the option to chat in any color and font size but only during game play. There will also be an option of choosing any font size player name. I'll just add in detail the new cheat descriptions tomorrow when it is released.
If anyone knows how they instantly freeze a player during game play please tell me so I can maybe make an option to prevent this or do it myself..
If anyone knows how they instantly freeze a player during game play please tell me so I can maybe make an option to prevent this or do it myself..
176 Comments:
thx jake for the heads up ppl needed that
hi jake kool i saw you on SA and that was well cool um can u post the trainer on my blog plzzzz fanx
on dat final version number 1 if u go on the report screen click report on som1 then when ur about to type in what happend there is a button that ssez get ip and that might be why there freeziing coz people are freezing their ip
thx jack and could make bot for tantra
kool kid that not y ip iz a diffent thing at least u tried but that not it
and thx agina jake
My god, the spelling and grammar rape that happens here on Blogger.
Nice trainer, Jake. I've been following it since some friends on a forum got me into SA.
Weapon Hack sounds like the shit. Thanks.
BTW, think that a trainer for NavyField would be possible?
Google it.
Thanks,
Bonafide CheatFan
lol its 7:20 on monday morning and its not out yet...
^_^ cant wait
...and you flamers, STFU.
>.> i sove you sarina
<.< i love you jamie
yo wut do you need to know it me about the HackPack do you want to know how to edit the flasm to pm frezze the person in the lobby or the end lag in the game
Wow I'm pretty exited to see how it will all go down in the end. hopefully it stays original and no-one steals the weapon hack and puts it in some noobish hack pack that doesnt let you toggle.
LOL im checkin at school and its still not out... I saw you using the large txt font hack it wus cool I think i can wait one more day [=
im just going to be checking every hour...........ok every 15 minutes. I can't wait for it! XD
I am crazy with anticipation! i can't wait for it! :D
iam happpppypypypypypypy
stick arena v3 yah yah yah yah yah yah
thank uuuuuuuuu jake but stick arena not going too be fun cuz everybody uses hack
its now 5 o clokc and its not out ! waaaaaa
I think it's very good cuz you can turn off Hacks in a trainer so you can play fair If you want..and when come in a Hacker you can turn on to it turn off....Can't wait =)
HEY man------im an argentine and this web is amazing!!!!!!!!!
i wonder if u can make an warcraft td--or wathever is called---a hack o trainer-.
saluts from argentina---
bye man :D:D:D
It has to be done and i will wait here for it !!!!!! XD
Jake you are great but why aren't you posting it man i am about to pee my own pants man please get it here i BEG you and btw i am from Holland
init plzz giv us it plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz im getting really exited and im gonna poo me pants when it comes
ur trainers are the best make more make more post it fast we wasnt it fast
You must be a master of anticipation, please im dien here waiting. your killing us man! just post like a test or somthin. This SA trainer must be the best out of all! XD
holland cool i'm from belgium,
btw jake i'm 666 0bones0 you might remember me from bloodmasters;you the king man!!!!,i once was looking for some hacks for sa when i got on your site I really admired youre work, incredible,i'm still waiting for the sa trainer v3
keep up the good work
jake is comeing the top hack maker will maybe for some other ppl. but tyvm much jake xD ps from your fan the unknown
anybody play bloodmasters...im bored and theres noone on....< b >
were you the one on last night playing with font sizes?
shit...
JAKE MABYE YOU SHOULD TAKE OUT THE HP HACK THAT WOULD MAKE SOME THINGS BETTER! ;D
JAKe come on man GET IT HERE please i already peed my pans like i said before i showered put on some new pants and cam back and STILL NO V3 then i peed myself again come on please get it on here my pants are al wett i am gonna buy some new ones when i get back i wanna see V3 PLZZZZZZZZZZZZZZZZ MAN COME ON
its about time jake ive been waiting ages
....soo bored whens it coming out
lol i really need it coz its 9 o clock in england and i gotta get of in half and hour mabbeeee ur gonna get it out tomoz or in 2 days but i DONT mind as long as it gets to us asap
hiya its kool kid agen and jake what time is it in your time coz is the one below each post wrong anyway can u post your trainer on me blog plzzz fanx
is it coming out today and will it only be for windows computers like the other two. MAKE IT FOR MAC TO IF U CAN
okay it is monday noW!
im gonna have to get it tomoz int coz i need to to off soon
Hey jake i dont know if this is what you need but i know a hackpack that can kick you out of lobby by pressing ctrl and clicking someones name and i also know a hackpack that lags people realy badly just by attacking so i dont know if you want them but you can email me at guiddar@yahoo.com
- Peace
1000 POSTS! lets try and post a thousand messages b-4 it comes out tommorow!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
(;
whoever wanted to know if he can make it for mac... he cant because he makes the trainer with vb6
that aint a thousand post just one big one
did jake mean that its going to be out tomorrow? or today?
i think he meant today. if he will upload it then we can download it. we just got to wait
today he posted that thing yesterday
its 5:18 central time still no trainer...
where is it?
come on i just came from school and its still not done one day its taking foooooooooorrrrrrrrrrrrrrrrreeeeeeeeeeeeevvvvvvvvvveeeeeeeeeeeeeeeeeeerrrrrr
wher iz it
Stick Arena Trainer FINAL v3 Tomorrow!
lier
jake i been waiting all fuckin day where is the trainer
He posted this sunday march 18 at around 11 last night so it should be here any sec... :D
rofl lol you guys he will post it at 11:40
i been checkin all weeek and then it come out today can we have it plz
11;40 what the fuck we waited toooo long for 11:40
11:40 what
hey jake u still havent came out w/ sa tanier v3 yet
come on jake
he'll finish it when it's ready
he said today right bitch (hackerdawg94)
HackerGdawg94 your blog sucks bitch u should delete it its that bad o what u say u wanna suck my what
hahah that funny anonyous
Jeez jake you move slower than "Windows 95"
JEEZ Jake you move slower than "limewire 4.12.11"
JEEEZ Jake you move slower than my "test scores"
JEEEEZ Jake you move slower than "Speed Gear"
JEEEEEZ Jake you move slower than "AOL Downloads"
JEEEEEEEEEEZ Jake you move slower than "DAIL UP"
LOL Kidding...
Im Bored
Jeez jake you move slower than "Windows 95"
JEEZ Jake you move slower than "limewire 4.12.11"
JEEEZ Jake you move slower than my "test scores"
JEEEEZ Jake you move slower than "Speed Gear"
JEEEEEZ Jake you move slower than "AOL Downloads"
JEEEEEEEEEEZ Jake you move slower than "DAIL UP"
way to go jake you single handedly sealed stick arenas fate...
does anyone know his time zone?
its 7:22 pm central time here
yall nag alot=\
u beat me in a fight jake when it was over u had 10000000 kills.
i told all you dumbasses it come out at 11:40
how do you know?
EVERY ONE CALM DOWN,DON`T PESTER JAKE OVER THIS IF YOU CONTINUE HE MIGHT FINISH AND NOT MAKE IT SO YOU CAN DOWNLOAD IT.I WANT JUST AS BADLEY AS ANY ONE ELSE.BUT BE PATIENT IF IT WASENT FOR HIM THIS WOULD NEVER HAD HAPPEND IN THE FIRST PLACE.jeez...
lol im just going to be playing world of warcraft til it comes on.
well ive been waiting for it for about 2 weeks and im oatient about it..i cant wait....jake has become a legend for his sa trainers.
lol who hasn't been waiting just be patient if you have been waiting for a week then wait another one
slash clan leader,
We've been waiting months.
hey koolkid your stuped and your wack so stop talking bitch
we're all so greedy!!!!!!! i cant wait....
Stick Arena will shutdown after this is released itll be so hacked to fuck lmao
man u guys are impatient...but so am i so it doesnt matter
damn it aint out yet...its sleepy time for me
if we keep buging him he might not upload it!
hey he doesnt have to if it was me id put a price on since people want it sooo bad
i have a feeling that the secind this thing is realesed it will be hell in SA lol STICK ARENA HELL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
i hope this isnt one of those stay up till 11:59 and say that he put it up today
i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait
Ok ppl STFU Jake will probably release it tonight around 10:00 But hes probably gona release it tomorrow So be patient and stfu Visit freewebs.com/sahackz for stuff to keep you occupied
anonymous said...
thank uuuuuuuuu jake but stick arena not going too be fun cuz everybody uses hack
Not everyone uses hacks so that post was pointless.
from 7 in the morning til almost 8 at night . i shall wait for the SA trainr V3!
how are you sopoustt to use this one do u use it like the other trainers or do u have to do that stuff that you do for a hack pack? because hackpacks dont work everyone
Anonymous said...
how are you sopoustt to use this one do u use it like the other trainers or do u have to do that stuff that you do for a hack pack? because hackpacks dont work everyone
Your stupid. hackpacks work
i like these stick arena trainer things, but when i read all these blogs i noticed that ure all freakin lozers, cuz u sit and wait for a freaking hackpack. i mean sure its fun.
dude stfu. if you have played any of the SA trainers then you would know there is a bunch of stuff added to this 1 and people want to try it out. think before you put up another stupid ass insult like that
and you need to lay off the internet lingo. seems your a loser who sits here like the rest of us or your grammar incredibly sucks
not really they dont work for everyone. they do work for some but not all you dumb fagget. have you seen the list of complaints about hackpacks not working? for every hack pack there are 20 people who are welling to say that it doest work for them. like some one said the image of stick arena came up but it didt change there for it didt bring in the menu so it didt work for him. this happens to alot of people. it ussually because there are some error with that hackpack or the pack is simply a fake. and alot of hack packs use the .ZIP thing to so i just wanted to know if he is changeing the style to the Hack pack style or sticking with the original sa trainer style witch is better and much easier to use
and you need to lay off the internet lingo. seems your a loser who sits here like the rest of us or your grammar incredibly sucks
your degrading yourself even more
my bad double post of same message
i just asked a simple question is he sticking to the oroginal sa trainer style or is he making it in a hackpack form witch is harder to use
LOZERS!!
LOZERS!!
LOZERS!!
YOURE ALL LOZERS!!
ow yea im so cool....i got the 100th comment ow yea....... im so cool...u know it too
jk lol
hehe
.
.
i cant see all of the recent blogs.
its a big white blank.
(im the one that called u guys lozers. cuz u are) :)
what with the long messages
u guys r u lozers!!
LOZERS!!!
son of a *****!!!
its 9:03 and its not out yet... :(
THESE ARE THE COMMENTS ALL YOU GUYS POSTED....HEHE I LIKE TO TAKE UP SPACE
keysean said...
thx jake for the heads up ppl needed that
11:22 PM
Kool kid said...
hi jake kool i saw you on SA and that was well cool um can u post the trainer on my blog plzzzz fanx
11:49 PM
Kool kid said...
on dat final version number 1 if u go on the report screen click report on som1 then when ur about to type in what happend there is a button that ssez get ip and that might be why there freeziing coz people are freezing their ip
12:02 AM
Anonymous said...
thx jack and could make bot for tantra
12:04 AM
keysean said...
kool kid that not y ip iz a diffent thing at least u tried but that not it
and thx agina jake
1:58 AM
Bonafide CheatFan said...
My god, the spelling and grammar rape that happens here on Blogger.
Nice trainer, Jake. I've been following it since some friends on a forum got me into SA.
Weapon Hack sounds like the shit. Thanks.
BTW, think that a trainer for NavyField would be possible?
Google it.
Thanks,
Bonafide CheatFan
4:24 AM
HackerGdawg94 said...
lol its 7:20 on monday morning and its not out yet...
5:19 AM
Anonymous said...
^_^ cant wait
...and you flamers, STFU.
5:21 AM
Anonymous said...
>.> i sove you sarina
5:22 AM
Anonymous said...
<.< i love you jamie
5:23 AM
Anonymous said...
yo wut do you need to know it me about the HackPack do you want to know how to edit the flasm to pm frezze the person in the lobby or the end lag in the game
5:24 AM
Kira said...
Wow I'm pretty exited to see how it will all go down in the end. hopefully it stays original and no-one steals the weapon hack and puts it in some noobish hack pack that doesnt let you toggle.
5:26 AM
Anonymous said...
LOL im checkin at school and its still not out... I saw you using the large txt font hack it wus cool I think i can wait one more day [=
7:38 AM
Anonymous said...
im just going to be checking every hour...........ok every 15 minutes. I can't wait for it! XD
7:42 AM
Anonymous said...
I am crazy with anticipation! i can't wait for it! :D
8:12 AM
Anonymous said...
iam happpppypypypypypypy
9:32 AM
Anonymous said...
stick arena v3 yah yah yah yah yah yah
9:33 AM
Anonymous said...
thank uuuuuuuuu jake but stick arena not going too be fun cuz everybody uses hack
9:35 AM
Anonymous said...
its now 5 o clokc and its not out ! waaaaaa
10:01 AM
Anonymous said...
I think it's very good cuz you can turn off Hacks in a trainer so you can play fair If you want..and when come in a Hacker you can turn on to it turn off....Can't wait =)
10:02 AM
Anonymous said...
HEY man------im an argentine and this web is amazing!!!!!!!!!
i wonder if u can make an warcraft td--or wathever is called---a hack o trainer-.
saluts from argentina---
bye man :D:D:D
10:13 AM
Anonymous said...
It has to be done and i will wait here for it !!!!!! XD
10:32 AM
Anonymous said...
Jake you are great but why aren't you posting it man i am about to pee my own pants man please get it here i BEG you and btw i am from Holland
10:32 AM
Anonymous said...
init plzz giv us it plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz im getting really exited and im gonna poo me pants when it comes
10:48 AM
KILLER said...
ur trainers are the best make more make more post it fast we wasnt it fast
10:50 AM
Anonymous said...
You must be a master of anticipation, please im dien here waiting. your killing us man! just post like a test or somthin. This SA trainer must be the best out of all! XD
11:31 AM
Anonymous said...
holland cool i'm from belgium,
btw jake i'm 666 0bones0 you might remember me from bloodmasters;you the king man!!!!,i once was looking for some hacks for sa when i got on your site I really admired youre work, incredible,i'm still waiting for the sa trainer v3
keep up the good work
11:38 AM
Anonymous said...
jake is comeing the top hack maker will maybe for some other ppl. but tyvm much jake xD ps from your fan the unknown
11:51 AM
B said...
anybody play bloodmasters...im bored and theres noone on....< b >
12:12 PM
Kekeb said...
were you the one on last night playing with font sizes?
12:15 PM
Anonymous said...
shit...
12:35 PM
Anonymous said...
JAKE MABYE YOU SHOULD TAKE OUT THE HP HACK THAT WOULD MAKE SOME THINGS BETTER! ;D
1:03 PM
Anonymous said...
JAKe come on man GET IT HERE please i already peed my pans like i said before i showered put on some new pants and cam back and STILL NO V3 then i peed myself again come on please get it on here my pants are al wett i am gonna buy some new ones when i get back i wanna see V3 PLZZZZZZZZZZZZZZZZ MAN COME ON
1:20 PM
Anonymous said...
its about time jake ive been waiting ages
1:22 PM
WOOOOOOOOOOT said...
....soo bored whens it coming out
1:49 PM
Kool kid said...
lol i really need it coz its 9 o clock in england and i gotta get of in half and hour mabbeeee ur gonna get it out tomoz or in 2 days but i DONT mind as long as it gets to us asap
2:06 PM
Kool kid said...
hiya its kool kid agen and jake what time is it in your time coz is the one below each post wrong anyway can u post your trainer on me blog plzzz fanx
2:08 PM
Anonymous said...
is it coming out today and will it only be for windows computers like the other two. MAKE IT FOR MAC TO IF U CAN
2:16 PM
Anonymous said...
okay it is monday noW!
2:22 PM
Kool kid said...
im gonna have to get it tomoz int coz i need to to off soon
2:26 PM
Anonymous said...
Hey jake i dont know if this is what you need but i know a hackpack that can kick you out of lobby by pressing ctrl and clicking someones name and i also know a hackpack that lags people realy badly just by attacking so i dont know if you want them but you can email me at guiddar@yahoo.com
- Peace
2:27 PM
Anonymous said...
1000 POSTS! lets try and post a thousand messages b-4 it comes out tommorow!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
(;
2:27 PM
meeman666 said...
whoever wanted to know if he can make it for mac... he cant because he makes the trainer with vb6
2:34 PM
Anonymous said...
that aint a thousand post just one big one
2:36 PM
Anonymous said...
did jake mean that its going to be out tomorrow? or today?
2:51 PM
Anonymous said...
i think he meant today. if he will upload it then we can download it. we just got to wait
3:05 PM
Anonymous said...
today he posted that thing yesterday
3:06 PM
HackerGdawg94 said...
its 5:18 central time still no trainer...
3:19 PM
Anonymous said...
where is it?
3:41 PM
Anonymous said...
come on i just came from school and its still not done one day its taking foooooooooorrrrrrrrrrrrrrrrreeeeeeeeeeeeevvvvvvvvvveeeeeeeeeeeeeeeeeeerrrrrr
3:47 PM
Anonymous said...
wher iz it
3:47 PM
Anonymous said...
Stick Arena Trainer FINAL v3 Tomorrow!
lier
3:48 PM
Anonymous said...
jake i been waiting all fuckin day where is the trainer
3:50 PM
Anonymous said...
He posted this sunday march 18 at around 11 last night so it should be here any sec... :D
3:50 PM
Anonymous said...
rofl lol you guys he will post it at 11:40
3:52 PM
Anonymous said...
i been checkin all weeek and then it come out today can we have it plz
3:53 PM
Anonymous said...
11;40 what the fuck we waited toooo long for 11:40
3:55 PM
Anonymous said...
11:40 what
3:55 PM
Anonymous said...
hey jake u still havent came out w/ sa tanier v3 yet
3:57 PM
Anonymous said...
come on jake
3:59 PM
HackerGdawg94 said...
he'll finish it when it's ready
4:00 PM
Anonymous said...
he said today right bitch (hackerdawg94)
4:01 PM
Anonymous said...
HackerGdawg94 your blog sucks bitch u should delete it its that bad o what u say u wanna suck my what
4:07 PM
Anonymous said...
hahah that funny anonyous
4:13 PM
Anonymous said...
Jeez jake you move slower than "Windows 95"
JEEZ Jake you move slower than "limewire 4.12.11"
JEEEZ Jake you move slower than my "test scores"
JEEEEZ Jake you move slower than "Speed Gear"
JEEEEEZ Jake you move slower than "AOL Downloads"
JEEEEEEEEEEZ Jake you move slower than "DAIL UP"
LOL Kidding...
Im Bored
4:43 PM
Anonymous said...
Jeez jake you move slower than "Windows 95"
JEEZ Jake you move slower than "limewire 4.12.11"
JEEEZ Jake you move slower than my "test scores"
JEEEEZ Jake you move slower than "Speed Gear"
JEEEEEZ Jake you move slower than "AOL Downloads"
JEEEEEEEEEEZ Jake you move slower than "DAIL UP"
5:15 PM
Anonymous said...
way to go jake you single handedly sealed stick arenas fate...
5:22 PM
Anonymous said...
does anyone know his time zone?
its 7:22 pm central time here
5:22 PM
B said...
yall nag alot=\
5:27 PM
Anonymous said...
u beat me in a fight jake when it was over u had 10000000 kills.
5:42 PM
Anonymous said...
i told all you dumbasses it come out at 11:40
5:43 PM
Anonymous said...
how do you know?
5:45 PM
Anonymous said...
EVERY ONE CALM DOWN,DON`T PESTER JAKE OVER THIS IF YOU CONTINUE HE MIGHT FINISH AND NOT MAKE IT SO YOU CAN DOWNLOAD IT.I WANT JUST AS BADLEY AS ANY ONE ELSE.BUT BE PATIENT IF IT WASENT FOR HIM THIS WOULD NEVER HAD HAPPEND IN THE FIRST PLACE.jeez...
6:01 PM
Anonymous said...
lol im just going to be playing world of warcraft til it comes on.
6:04 PM
slash..clan..leader said...
well ive been waiting for it for about 2 weeks and im oatient about it..i cant wait....jake has become a legend for his sa trainers.
6:07 PM
Anonymous said...
lol who hasn't been waiting just be patient if you have been waiting for a week then wait another one
6:11 PM
Crxss said...
slash clan leader,
We've been waiting months.
6:25 PM
Anonymous said...
hey koolkid your stuped and your wack so stop talking bitch
6:25 PM
zemnoz said...
we're all so greedy!!!!!!! i cant wait....
6:27 PM
Crxss said...
Stick Arena will shutdown after this is released itll be so hacked to fuck lmao
6:29 PM
balls said...
man u guys are impatient...but so am i so it doesnt matter
6:34 PM
B said...
damn it aint out yet...its sleepy time for me
6:36 PM
B-DON said...
if we keep buging him he might not upload it!
6:39 PM
Nobody said...
hey he doesnt have to if it was me id put a price on since people want it sooo bad
6:41 PM
Anonymous said...
i have a feeling that the secind this thing is realesed it will be hell in SA lol STICK ARENA HELL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6:43 PM
Anonymous said...
i hope this isnt one of those stay up till 11:59 and say that he put it up today
7:04 PM
Anonymous said...
i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait i cant wait
7:23 PM
Anonymous said...
Ok ppl STFU Jake will probably release it tonight around 10:00 But hes probably gona release it tomorrow So be patient and stfu Visit freewebs.com/sahackz for stuff to keep you occupied
7:28 PM
Anonymous said...
anonymous said...
thank uuuuuuuuu jake but stick arena not going too be fun cuz everybody uses hack
Not everyone uses hacks so that post was pointless.
7:50 PM
Anonymous said...
from 7 in the morning til almost 8 at night . i shall wait for the SA trainr V3!
7:57 PM
Anonymous said...
how are you sopoustt to use this one do u use it like the other trainers or do u have to do that stuff that you do for a hack pack? because hackpacks dont work everyone
8:08 PM
Anonymous said...
Anonymous said...
how are you sopoustt to use this one do u use it like the other trainers or do u have to do that stuff that you do for a hack pack? because hackpacks dont work everyone
Your stupid. hackpacks work
8:12 PM
Anonymous said...
i like these stick arena trainer things, but when i read all these blogs i noticed that ure all freakin lozers, cuz u sit and wait for a freaking hackpack. i mean sure its fun.
8:22 PM
Anonymous said...
dude stfu. if you have played any of the SA trainers then you would know there is a bunch of stuff added to this 1 and people want to try it out. think before you put up another stupid ass insult like that
8:24 PM
Anonymous said...
and you need to lay off the internet lingo. seems your a loser who sits here like the rest of us or your grammar incredibly sucks
8:26 PM
Anonymous said...
not really they dont work for everyone. they do work for some but not all you dumb fagget. have you seen the list of complaints about hackpacks not working? for every hack pack there are 20 people who are welling to say that it doest work for them. like some one said the image of stick arena came up but it didt change there for it didt bring in the menu so it didt work for him. this happens to alot of people. it ussually because there are some error with that hackpack or the pack is simply a fake. and alot of hack packs use the .ZIP thing to so i just wanted to know if he is changeing the style to the Hack pack style or sticking with the original sa trainer style witch is better and much easier to use
8:27 PM
Anonymous said...
and you need to lay off the internet lingo. seems your a loser who sits here like the rest of us or your grammar incredibly sucks
8:27 PM
Anonymous said...
your degrading yourself even more
8:28 PM
Anonymous said...
my bad double post of same message
8:29 PM
Anonymous said...
i just asked a simple question is he sticking to the oroginal sa trainer style or is he making it in a hackpack form witch is harder to use
8:32 PM
Anonymous said...
LOZERS!!
LOZERS!!
LOZERS!!
YOURE ALL LOZERS!!
8:33 PM
balls said...
ow yea im so cool....i got the 100th comment ow yea....... im so cool...u know it too
jk lol
8:39 PM
Anonymous said...
hehe
8:42 PM
Anonymous said...
.
.
8:45 PM
I will make this available to everyone and will not be private. It will be released in the .zip format. There is a considerable amount of HPs out there with SA cheats if you can not wait for tomorrow. =P I still have many error traps to fix so nothing goes wrong in the game or the trainer more importantly. I already said more or less which cheat options will be added but look for one that no else has done before. Some of you have probably seen it when playing SA and yes it was me because I'm the only that is doing that cheat option. I'm adding the option to chat in any color and font size but only during game play. There will also be an option of choosing any font size player name. I'll just add in detail the new cheat descriptions tomorrow when it is released.
If anyone knows how they instantly freeze a player during game play please tell me so I can maybe make an option to prevent this or do it myself..
posted by Jake at 10:55 PM on Mar 18 2007
Choose an identity
Blogger
Other
Anonymous
Username
Password
Switched to the beta?
Sign in with your Google Account
No Blogger account? Sign up here.
Name
Your web page
All of these fields are optional.
Word Verification
Type the characters you see in the picture above.
FFS! its 10 at night here and still no SA trainer V3 :'(
WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.DAMN RIGHT I SPAMMED ON YOUR SITE BEOTCH.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.DAMN RIGHT I SPAMMED ON YOUR SITE BEOTCH.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SWHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.ITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.WHENS IT COMING OUT, ITS THE 19'TH AND I DONT SEE IT ON THE SITE.
time for bed and no hacks for SA that are new :'(
yeah i just woke up i am from holland and still NO TRAINER MANN JACK COME ON
will you guys give it up. no matter how much you spam this shit, he's not going to release it until he's done.
already a day late
I hope jake releases it today!
P.S. how old is jake
why the fuck do yall keep spaming?
AHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! AHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! AHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! =-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhh=-( wahhhhhhhhhhhhhhhhhhhhhhhhhAHHHHHHHHHHHHHHHHH i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!!i cant wait!!! Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!MY USER IS BOOMY USER IS BOOMY USER IS BOOWhens it coming??? this will be the best!!!Whens it coming??? this will be the best!!!Whens it coming??? this will be the best!!! MY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOOMY USER IS BOO MY USER IS BOO MY USER IS BOO MY USER IS BOO I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 days! I WANT HAKS!!! woot!!!! where is it??? its been 2 d FROM BOO!!!!!!
Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????
FROM BOO
Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????Hi, wheres my haks??? i made the haks u know.......WAHHHHH TRAINER!!1 help me!!! i need haks, where is the trainer??? wahhh....1!!!! my name is BOO is called BOO on SA, whhhh... whens it coming out??????????
dude you must have no life if you can sit at the computer tyoping that over and over again lol and i bet its the same guy that did the other ones.....fucking dumbass
jake your getting late! 2 days already please hurry up!
init comon u sent us the the trainer in fo ages ago saying it was only gonna be a week now u sed tomoz and u makin us wait agen
Dude! i have been waiting for v3 since i first heard of it! and yesterday i was in a car crash and have only mobility in my upper body until i heal! plz relese the v3 i am desperate!!!!!
jake u need to calm down with all this..ur going a little far dont u think..im already trying to get passed all the fuck heads that use ur programs...u know thats all people do on the agme is hack n jerkoff cybersex
forreal just tune it down a little n just make the ones that are appropiate peace
-crazycracker155
crazycracker ur a dumbass! dont u no that if he no make hacks 4 us we will get skull fucked by hackers! we need his stuff to defend our selves! and jake plz i am still in the hospital wit my laptop and am keepin watch for the v3 were are u gonna put it? will it be here on opium test?
im so bored without v3 i got rid of my trainer so that i had room for it plz send it to us!!!
WHEN IS THE 3RD SA TRINER COMIN OUT!?
FUCK YOU JAKE WHERE IS THE FUCKING TRAINER!!!!!
j4ke where u live? btw i live in glasgow (plzzzzzz answer this qustion!!!!!!!!)
LOL Jake Fuck your Trainer...
I DONT NEED IT
I can PWN any of thes noobs if they werent such PUSSYS...
LOL we dont need it
no one needs it...
you think you need it
why dont you try practice
Jakes a good guy
Quit bortheing him with
all your BS
Be glad you get anything like
this for free I mean come on...
I hope jake puts like
a trojan on so you cant
use it or your so desprat
to be a noob and do use it
and it fucks your hole system up
Blood and death
and sex with dead
Secret member
Vampire Clan
0
0
0
00000
0
calm down ppl you gottta w8 till 6:00 pm or 7:00 pm just chill his fexing erros ffs
yo i agree with the clan dude stop bothring jake dont worrry lol you can w8 all day you basterds his a bussyy dude so chill pluse we dont need these trainer shit we got skills we dont cheat we dont hack so how about you shut the hell you yo!!! idiots
FUCK YOU ALL HACKERS
o shut up you noob we need the trainer he has been worknig it all day so how about relase it i respect jake becuase he maid these trainers for us ps jake we respected you very much
why isnt it out omg.i been waiting ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
By SMVC AGIAN
Besides
Its FREE
I CANT WAIT!! =D!!!! ^_^ GO JAKE!!! DOES ANYONE KNOW WHEN IT MIGHT BE OUT?
jake stop lying u keep saying its coming out and u keep delay it dont say something unless u mean it that called lying
i believe what the guy above me said
yo this is alright and i go by the name jok3rz.bluefire on sa and ive currently seen a guy named the.black.sage or sumthing like that pretending to be u jak4 .. and by teh way im thinking there are too many noobs who use the trainer thinking its real hacking >.> real hackign is h ps and hhps but i say trainer is good to start, im not sayin it sux , but if some1 stay usin trianer forever theylle never get to see wat real trainer doez ya digg
I belive that the two guys above me are stupid.
not jok3rz, the two guys dissing jake
Stick Arena Trainer FINAL v3 Tomorrow! lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier lier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lierlier liel lier lier lier
O Relax somtimes you think your just about done and when you are about to put it out there you realize you want to work out a couple more kinks... This is the real world people you don;t always get what you want and if so sometimes it takes longer to get there. You should all be thanking him for what he does and you have NOOOOO idea how much time he puts into this. Quit your whining you little bitches and wait like everyone else...
Thanks Jake.
i know you put time on this and whatever but it's better to not say anything at all then make up due dates and not follow through
thats not even how you spell liar...dumbass
no kidding... " leillier lier hey guys ima lie er" its pronoced exactly as its spelled.... lie ARE hence liar... durka durka durka..
but seriously... its been a day, and he said about a month and a half ago that "ittl be finished bey the end of this week..." and two days ago he said "it'll be out tommorow" he could have at least said "it MIGHT" come out tommorow...
but seriously... when is it REALLY gonna be out.. tonight... a week from now.. a month? heaven forbid a year (watch it be a year).. come on.. release it!!!!
(this is not a flame so don't call me an impatient noob)
that funny
"but seriously... when is it REALLY gonna be out.. tonight... a week from now.. a month? heaven forbid a year (watch it be a year).. come on.. release it!!!!"
..maybe Jake has a life unlike most of us and doesnt spend most of his life on the computer.......and i gotta question whats with yalls obession with this sa trainer?
lol b thats exactly what i was going to say that guy spelled liar wrong. And also Jake, any luck in finding how to freeze a player during gameplay.
WTF MAN WERE THE HELL IS THE SA TRAINER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WE HAVE BEEN WATING ALMOST 3 FUKN DAYS AFTER IT WAZ SUPPOSSED TO COME OUT YA DEM FUKN LIER STOP LIENG N GIVE IT TO US UR MAKIN SUM OF US DIE OF BOREDEM FOR CHRIST SAKES GIVE US THE DEM V3 ALREADY!! JESUS FUKN CHRIST!!
I bet most of you are bored waiting for SA trainer but you should check out
Opiumtest2.blogspot.com
Notice the 2!
you can disscuss your feelings on this there...
atleast some one agrees with me lol
+++++++++yall need to learn to spell man its LIAR NOT LIER ..is lier even a word....and yall dont say shit about my yalls cause im from texas and thats how we do bitchs.....
lol.... "yalls".. HAHA *cough*hilljack*cough*
YOU ARE A FUCKIN LAIR JAKE! FUCK YOU!!!!!!!!!!!!!!!!
wheer is the trainer jake why do u keep lying abut the trainer we waited to long for this and u gave us a due date 3 time where is it i know it has to be finsih by now or u dont have it
hey jake im back i went on vacation for 3 week hey wheres the stick arena trainer v3 i thought it would been out by now y r people calling you name
heres ur stupid posts for a thousand. or is their 1000 posts here???
DUDE WHEN IS IT COMING IVE BEEN WAITING FOR LIKE EVER AND ALL YOU GIVE US IS A LIE!!!!!srry im just like going crazy about this thing..ahh ive been like staying up almost all night with this thing waiting.....arghh im bored..and im kinda mad but not at you
1.) You guys need to stop that shit with the reapeat over and over again its making the comments lag.
2.)i can be patient you said it whould be out yesterday and i whould just like a word saying when it is out i can be patient but i dont like sitting in the dark
Dude Three Words
THREE
DAYS
LATE
WTF HAPPENING MAN
lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier lier